The GNATs
          · · o v e r v i e w · · · · · · · ·

Introduction

Pervasive networks of computing, communicating, and sensing devices will be embedded in future environments. These devices will include the likes of RFIDs, active badges, and sensor networks. For the most part, these devices are framed in the context of enabling and supporting human activities. We posit that these networks can also support, and be supported by, robot systems, and particularly mobile robot systems.

We studying systems of mobile robots and embedded networks. In particular, we are investigating ways mobility can improve sensor networks and how pervasiveness can impact autonomous mobile robots. We consider a heterogeneous system composed of small, embedded, immobile, possibly sensor-less, communication nodes and larger mobile robots equipped with sensors and manipulators. We feel this heterogeneous system of embedded devices and mobile robots puts a natural constraint on the design space of multi-robot systems. The embedded network serves as a pervasive communication, computation, and coordination fabric, while the mobile robots provide sensing and actuation.

The Hardware Platform

We have implemented a hardware platform for building embedded networks to support mobile robots. The GNATs are low cost devices, allowing us to build a large number of them, and are highly configurable. The GNATs consist of four infrared (IR) emitters, four IR receivers, a thermometer, two visible light LEDs, a button, a Microchip PIC16F87 microcontroller, and a 3V battery. The simplicity of the platform makes it very inexpensive (less than $30), allowing us to build, and experiment with, a large number of devices. The platform is compatible with the LEGO Mindstorms robotics kit permitting the gnats to interact with RCX robots as well as with PCs via the LEGO IR dongle. We use the IR dongle to program hundreds of GNATs at once.

(Victor Bigio tests our newly assembled shipment of 300 GNATs.)

Applications

We are investigating a type of physical path planning using a large number of immobile robots called a navigation network. The algorithm essentially works as a distributed variant of the popular wave-front path planning algorithm, or a breadth-first search from the goal, propagating paths from the goal location. The embedded nodes make up the vertices of the path planning graph, and the network connections between them are the edges of the graph. Mobile robots can then use reactive navigation to traverse the graph by visiting the vertices (i.e. the embedded nodes) to the goal. The embedded network aides mobile robots in various tasks such as coverage, recruitment, and path planning.

The path planning technique is a physical manifestation of asynchronous or distributed dynamic programming, a multi-agent approach to dynamic programming. A navigation network uses a physical, situated, multi-agent system to approximate the entire state space of the path-finding problem. The embedded network supports effective cooperative forging by coordinating coverage patterns and by providing nearly optimal path planning without the network nodes or the robots having global knowledge or localization capabilities. In addition, the network can provide paths for the robots in dynamic environments where paths are created and destroyed dynamically.

Mobility

We are currently adding mobility to the GNATs platform. This limited form of mobility can be used for initial deployment and reconfiguration of the network.


          · · p e o p l e · · · · · · · ·


          · · p u b l i c a t i o n s · · · · · · · ·


          · · m u l t i m e d i a · · · · · · · ·

  • A movie showing a robot solving a navigation problem with the help of 156 GNATs. The GNATS solve the navigation problem by communicating with each other and guide the robot to the goal. The robot is very simple with only an IR receiver and two bumper sensors. The robots nor the gnats build any kind of map. Yet with the help of the GNATs it can solve dynamic navigation problems.
  • Two more movies (older) showing a robot solving a navigation problem with the help of GNATs. In both cases the GNAT in the center of the frame is the goal -- it was informed of this with a button push. The GNATS solve the navigation problem by communicating with each other and guide the robot to the goal. Note that the robot has only an IR receiver -- it has no obstacle sensor and does not build any kind of map, yet with the help of the GNATs it can solve dynamic navigation problems.
    • The GNATs guide a very simple (i.e. Lego!) robot through a maze (~10x).
        
    • The GNATs guide a very simple (i.e. Lego!) robot in a dynamic environment (~10x).
         .
  • Older movies:

          · · s o f t w a r e · · · · · · · ·

  • The GNAT API: Version 2.1 for April 2005. GnatAPI_v2.1.tar.gz. Version 2.1 includes support for:
    • Version 2 of the Gnat hardware: thermal sensor and 32K offchip serial EEPROM.
    • Smaller program memory footprint.
    • Tighter integration with the simulator.
  • The GNATs simulator. (coming soon!)
  • The GNATs ByteCode Interpreter. ByteCodeInterpreter.tar.gz. Version 0.1

          · · r e s o u r c e s · · · · · · · ·

  • The GNATs Developer's Manual. API Version 2.1 for May 2005. [pdf]
  • The GNAT Byte Code Interpreter Manual for May 2005. [pdf]

          · · l i n k s · · · · · · · ·

  • Research Sponsored By:

         Last Updated: $Date: 2005/07/03 01:41:01 $